package com.eduplatform.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.List;

/**
 * 文件服务接口
 */
public interface FileService {

    /**
     * 上传文件
     *
     * @param file 文件
     * @return 文件访问URL
     */
    String uploadFile(MultipartFile file);

    /**
     * 批量上传文件
     *
     * @param files 文件列表
     * @return 文件访问URL列表
     */
    List<String> uploadFiles(List<MultipartFile> files);

    /**
     * 上传文件
     *
     * @param inputStream 输入流
     * @param fileName    文件名
     * @param contentType 内容类型
     * @return 文件访问URL
     */
    String uploadFile(InputStream inputStream, String fileName, String contentType);

    /**
     * 删除文件
     *
     * @param fileUrl 文件URL或路径
     * @return 是否删除成功
     */
    boolean deleteFile(String fileUrl);

    /**
     * 获取文件访问URL
     *
     * @param objectName 对象名称
     * @return 文件访问URL
     */
    String getFileUrl(String objectName);
} 